
package com.english.dao;

import java.util.List;

import com.english.dao.Dao;
import com.english.model.Category;

public interface CategoryDao extends Dao {

    /**
     * Retrieves all of the categorys
     */
    public List getCategorys(Category category);

    /**
     * Gets category's information based on primary key. An
     * ObjectRetrievalFailureException Runtime Exception is thrown if 
     * nothing is found.
     * 
     * @param id the category's id
     * @return category populated category object
     */
    public Category getCategory(final Long id);

    /**
     * Saves a category's information
     * @param category the object to be saved
     */    
    public void saveCategory(Category category);

    /**
     * Removes a category from the database by id
     * @param id the category's id
     */
    public void removeCategory(final Long id);
}

